package com.bawei.newsapplication.view.activity.quanmingpai
import android.content.Intent
import android.view.View
import android.widget.ImageView
import android.widget.TextView
import android.widget.Toast
import androidx.recyclerview.widget.RecyclerView
import com.ayvytr.adapter.smart
import com.bawei.coom.model.bean.comm.AstatusBean
import com.bawei.coom.model.myapp.MyAPP
import com.bawei.newsapplication.R
import com.bawei.newsapplication.base.BaseActivity
import com.bawei.newsapplication.databinding.ActivityVideoPlayDetailBinding
import com.bawei.newsapplication.viewmodel.QuanMingpaiViewModel
import com.bumptech.glide.Glide
import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer
import java.text.SimpleDateFormat
import java.util.Date
import java.util.Locale
/**
 * 作者: 谢庆平
 * 时间: 2024/10/29 15:15
 * 描述:  以下是对热点新闻所包含的 “首页”“热点视频”“全民拍”“问答”“我的（登录和微信登录）” 各板块的介绍：
 *  * 首页：
 *  * 内容呈现：这是热点新闻平台的门面和核心展示区域。通常会将最重要、最热门、
 *  * 最具时效性的新闻资讯以多种形式呈现出来，比如头条新闻会以大标题、醒目的图片等方式突出展示，
 *  * 方便用户第一时间获取关键信息。新闻的来源广泛，包括专业的新闻媒体机构、记者采写的报道，
 *  * 以及一些经过筛选的自媒体或其他渠道的优质内容。
 *  * 功能特点：具备综合性和导航性。一方面，它整合了各种类型的热点新闻，如政治、经济、社会、文化、科技、体育等领域
 *  * 的重大事件和突发新闻，满足不同用户的信息需求；另一方面，首页还会设置分类导航、热门话题标签等，
 *  * 方便用户快速找到自己感兴趣的新闻类别或特定主题的新闻报道。
 *  * 热点视频：
 *  * 内容来源：该板块主要汇聚了与热点新闻相关的视频内容。
 *  * 这些视频的来源包括新闻媒体机构制作的新闻视频报道、现场目击者拍摄的视频素材、
 *  * 专业视频创作者根据热点新闻事件创作的解读或评论视频等。比如一些重大事件的现场视频、
 *  * 新闻发布会的视频记录、专家对热点事件的分析视频等。
 *  * 呈现形式：以视频的形式生动、直观地展现新闻内容，
 *  * 相比文字和图片更具感染力和冲击力。视频的时长不一，既有简短的新闻快讯视频，
 *  * 也有较为深入的专题视频报道。用户可以通过播放、暂停、快进、快退等操作来观看视频，
 *  * 还可以在视频下方查看相关的文字介绍、评论和点赞等信息。
 *  * 全民拍：
 *  * 平台性质：是一个鼓励广大民众参与新闻素材提供和新闻事件分享的互动平台。普通民众可以使用手机或其他摄影设备，拍摄身边发生的新闻事件、社会现象、有趣的场景等，并通过该平台上传分享。
 *  * 作用意义：一方面，它为新闻媒体提供了丰富的新闻素材来源，拓宽了新闻的采集渠道，使新闻更加贴近生活、贴近群众；另一方面，也为民众提供了一个表达自己观点、参与新闻传播的机会，增强了民众的新闻参与感和社会责任感。
 *  * 问答：
 *  * 问题类型：这里集中了用户关于热点新闻的各种疑问和探讨。
 *  * 问题可能涉及对新闻事件的背景、原因、影响的询问，对新闻中涉及的专业知识或法律问题的求解，
 *  * 对不同观点的争论等。例如，对于一些复杂的国际局势热点新闻，用户可能会问
 *  * “某地区冲突的根源是什么”“该事件对全球经济会产生怎样的影响” 等问题。
 *  * 互动模式：用户可以提出问题，也可以回答其他用户的问题。
 *  * 这种互动模式促进了用户之间的交流和思想碰撞，有助于更深入地理解热点新闻事件。
 *  * 同时，一些专业的新闻工作者、专家学者或相关领域的从业者也可能会参与到问答中，提供专业的解答和分析，提高问答的质量和权威性。
 *  * 我的（登录和微信登录）：
 *  * 登录功能：用户可以通过账号密码登录或微信登录的方式进入
 *  * “我的” 页面。登录后，系统可以记录用户的个人信息、浏览历史、收藏、点赞、评论等数据，方便用户随时查看和管理自己在热点新闻平台上的活动记录。
 *  * 个性化设置：在该页面中，用户可以根据自己的兴趣和需求进行个性化设置，比如设置新闻推送的频率、类型、时间段等，
 *  * 以便获取更符合自己需求的热点新闻资讯。此外，用户还可以修改个人资料、绑定或解绑第三方账号等。
 */
private val VideoPlayDetailActivity.i: Int
    get() {
        var intExtra = intent.getIntExtra("id", 0)
        return intExtra
    }
class VideoPlayDetailActivity : BaseActivity<QuanMingpaiViewModel, ActivityVideoPlayDetailBinding>
    (R.layout.activity_video_play_detail) {

    var tupianadapter=smart(mutableListOf<String>(), R.layout.neitu_mo,{
            item, position ->

        Glide.with(context).load(item).into(findViewById<ImageView>(R.id.img))

    }) {  }
    var pingadapter=smart(arrayListOf<AstatusBean.Result>(),R.layout.pinglun_mo,
        { item, position ->

        Glide.with(context).load(item.commentHeadPic).into(findViewById<ImageView>(R.id.img))
        findViewById<TextView>(R.id.name).text=item.commentNickName
        findViewById<TextView>(R.id.dzs).text="${item.commentPraiseNum}"
        val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault())

        if(item.commentTime!=null){

            val date = Date(item.commentTime)
            val formattedTime = dateFormat.format(date)
            findViewById<TextView>(R.id.sj).text=formattedTime

        }else{
            findViewById<TextView>(R.id.sj).visibility= View.GONE
        }

        findViewById<TextView>(R.id.nr).text=item.commentContent

        if(item.authorFlag==1){

            findViewById<TextView>(R.id.hf).visibility= View.GONE

        }else{

            findViewById<TextView>(R.id.hf).text="作者回复${item.authorFlag}"
        }


    }) {  }



    override fun initView() {
        mDataBinding.back.setOnClickListener {
            finish()
        }
//        mDataBinding.xie.setOnClickListener {
//            startActivity(Intent(this@VideoPlayDetailActivity,PublishShootActivity::class.java))
//        }
        var intExtra = i
        var hashmap=HashMap<String, String>()
        mDataBinding.fabiaoo.setOnClickListener {
            var toString = mDataBinding.xie.text.toString()
            if(toString.isEmpty()){
                Toast.makeText(this, "内容不能为空", Toast.LENGTH_SHORT).show()
                return@setOnClickListener
            }
            hashmap.put("shootId",intExtra.toString())
            hashmap.put("content",toString)

            mViewModel.getPublish(MyAPP.userId,MyAPP.token,hashmap)
        }
        mViewModel.getShootDetail(MyAPP.userId, MyAPP.token,intExtra)
        mViewModel.getCommentList(MyAPP.userId, MyAPP.token,intExtra,1,11)
        mDataBinding.rec.setAdapter(pingadapter)
        mDataBinding.rec.layoutManager=androidx.recyclerview.widget.LinearLayoutManager(this)
    }

//    private val i: Int
//        get() {
//            var intExtra = intent.getIntExtra("id", 0)
//            return intExtra
//        }
    override fun dataObserve() {
        //TODO 全民频详情
        mViewModel.shootDetailData.observe(this,{
            mDataBinding.title.text = it.result.title
            mDataBinding.name.text=it.result.nickName
            Glide.with(this)
                .load(it.result.headPic)
                .into(mDataBinding.img)
            val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault())
            val date = Date(it.result.releaseTime)
            mDataBinding.time.text = dateFormat.format(date)
            mDataBinding.nei.text=it.result.content
            mDataBinding.ping.text="评论${it.result.commentNum}"
            if(it.result.mediaType==1){
                findViewById<RecyclerView>(R.id.tpRec).visibility= View.VISIBLE
                findViewById<StandardGSYVideoPlayer>(R.id.sp).visibility= View.GONE
                if(it.result.mediaUrl!=null){
                    var tulist = it.result.mediaUrl.split(",")
                    tupianadapter.update(tulist)
                    findViewById<RecyclerView>(R.id.tpRec).adapter=tupianadapter
                    findViewById<RecyclerView>(R.id.tpRec).layoutManager=androidx.recyclerview.widget.GridLayoutManager(this,3)
                }

            }else {
                findViewById<StandardGSYVideoPlayer>(R.id.sp).visibility= View.VISIBLE
                findViewById<RecyclerView>(R.id.tpRec).visibility= View.GONE
                findViewById<StandardGSYVideoPlayer>(R.id.sp).setUp(it.result.mediaUrl,true,null)
                findViewById<StandardGSYVideoPlayer>(R.id.sp).startPlayLogic()
            }
        })
        mViewModel.commentListData.observe(this,{
            pingadapter.update(it.result)
        })
        mViewModel.publishData.observe(this,{
            Toast.makeText(this, it.message, Toast.LENGTH_SHORT).show()
            if(it.message.equals("评论成功")){

                mViewModel.getCommentList(MyAPP.userId, MyAPP.userId,i,1,11)
                mDataBinding.xie.text.clear()
            }
        })
    }

    private fun Date(releaseTime: Int): Date {
        return Date(releaseTime.toLong())
    }

}